package livret.modele;



import livret.modele.Etudiant;
import livret.modele.Formateur;
import livret.modele.MaitreStage;
import livret.modele.Formation;
import livret.modele.DataBase;
import java.beans.Statement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


/**
 * C'est une classe qui peut modifier certaines données
 * Elle peut mettre à jour les information du maitre de stage
 * Elle peut affecter aussi un @see Formateur à un @see Etudiant, il devient alors un tuteur
 * @author Solohery RAMANANARIVO, Fawzia CHABOUNI, Luc RABARIJAONA
 */
public class Administration {

    
    private int id_administration;
    private String nom;
    private String prenom;
    private String poste;

    /**
     * Le constructeur prend en paramètre
     * @param nom
     * @param id_administration
     */
    public Administration(String nom, int id_administration) {
        this.nom = nom;
        this.id_administration = id_administration;
    }

    /**
     * Getter du membre de l'administration
     * @return l'identifiant du membre de l'administration
     */
    public int getId_administration() {
        return id_administration;
    }

    /**
     * Getter du nom
     * @return le nom du membre de l'administration
     */
    public String getNom() {
        return nom;
    }

    /**
     * Setter du nom de l'administration (en cas de changement de nom martial)
     * @param nom
     */

    public void setNom(String nom) {
        this.nom = nom;
    }


    /**
     * Modifier le profil notement les informations sur le maitre de stage
     */
    public void modifierProfilEtudiant(Etudiant newEtudiant,int idOld) throws SQLException{
        Connection connexion = null;
        PreparedStatement ps = null;
        String sql = null;
        try {
            connexion = DataBase.getConnection();
            connexion.setAutoCommit(false);
            // mettre à jour le profil d'un étudiant
            sql="UPDATE candidat SET nom = '"+newEtudiant.getNom()+"'"+
                                     ",prenom = '"+newEtudiant.getPrenom()+"'"+
                                     ",email = '"+newEtudiant.getEmail()+"'"+
                                     "WHERE id_candidat = "+idOld;
            
            ps=connexion.prepareStatement(sql);
            ps.executeUpdate();
            
        }
        finally
        {
           DataBase.close(ps);
           DataBase.close(connexion);
        }
        
    }
    // mettre à jour le profil d'un étudiant
     public void modifierProfilMaitreStage(MaitreStage newMaitreStage,int idOld) throws SQLException{

         Connection connexion = null;
         PreparedStatement ps = null;
         String sql = null;
        try {
            connexion = DataBase.getConnection();
            connexion.setAutoCommit(false);

            sql="UPDATE maitrestage SET nom = '"+newMaitreStage.getNom()+"'"+
                                     ",prenom = '"+newMaitreStage.getPrenom()+"'"+
                                     ",email = '"+newMaitreStage.getMail()+"'"+
                                     ",entreprise = '"+newMaitreStage.getEntreprise()+"'"+
                                     "WHERE id_maitrestage = "+idOld;

            ps=connexion.prepareStatement(sql);
            ps.executeUpdate();

        }
        finally
        {
           DataBase.close(ps);
           DataBase.close(connexion);
        }

    }

     public void modifierProfilEnseigant(Formateur newFormateur, int idOld) throws SQLException{

         Connection connexion = null;
         PreparedStatement ps = null;
         String sql = null;
        try {
            connexion = DataBase.getConnection();
            connexion.setAutoCommit(false);

            sql="UPDATE formateur SET nom = '"+newFormateur.getNom()+"'"+
                                     ",prenom = '"+newFormateur.getPrenom()+"'"+
                                     ",email = '"+newFormateur.getMail()+"'"+
                                     ",sigle = '"+newFormateur.getSigle()+"'"+
                                     "WHERE id_formateur = "+idOld;

            ps=connexion.prepareStatement(sql);
            ps.executeUpdate();

        }
        finally
        {
           DataBase.close(ps);
           DataBase.close(connexion);
        }

    }

       
   
}